package com.常用类.Arrays数组类;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

/**
 * 作    者 ：吾路巴尼
 * 创建时间 ：2025/2/26-21:34
 */
@SuppressWarnings("all")
public class ArraysMethod01 {
    /**
     * 1。Arrays.toString方法：返回数组中的每个字符，前后加上'[' 和 ']'
     * 2。Arrays.sort方法  排序
     * 3.二分查找：Arrays.binarySearch(arr,3); 返回数字3在数组中的下标
     */
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5,6,7,8,9,10,33,45,55,87,89};

        /**1.
 * Arrays.toString 方法方法会在把数组中的每个字符添加到StringBuilder字符数组中，前后加上'[' 和 ']' 并返回字符串*/
        System.out.println(Arrays.toString(arr));//[1,2,3,4,5,6,7,8,9,10,33,45,55,87,89];
        System.out.println("=========================================================================");

        /**2.
         * Arrays.sort方法会把数组中的元素进行排序，默认是升序排序，
         * 如果数组中的元素是字符串，那么默认是按照字典排序的。
         */
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
        Scanner sc = new Scanner(System.in);
        System.out.println("=========================================================================");

        /**3.二分查找：Arrays.binarySearch(arr,3); 返回数组下标；
         * 前提条件；数组要是排序好的；
         *
         */
        int index  = Arrays.binarySearch(arr,3);//返回下标2；
        System.out.println("index = "+ index);
        index = Arrays.binarySearch(arr,88);
        //没找到返回  return -(low+1)；比如88未找到，他在87大，所以返回 -（88该存在的坐标+1） = -（14+1）-15
        System.out.println("index = "+ index);
        System.out.println("=========================================================================");

    }
}
